java编程项目,ADT列表
我们最近换了教授,这位新教授给人的印象是,我们有丰富的知识,但我们并不拥有
我们有一个编程项目到期,我只是想一些澄清,如果可能的话
(来自练习4.4)编写一个方法void interchange(列表l),该方法交换列表中的当前元素和它后面的元素。(首先让它在正常情况下工作;然后,如果您还有时间,请确保它处理特殊情况,例如:列表为空;列表只有一个元素;current位于列表末尾。)
(来自练习4.6)写一个方法void reverse(列表l),它颠倒了列表中存储的项目的顺序。同样,确保它适用于任何你能想到的特殊情况
(来自练习4.7)编写一个方法List mergeLists(List l1,List l2),该方法将两个已排序的列表作为输入,生成一个新列表,其中包含两个列表的所有元素,也已排序。新列表是该方法的返回值
所以我创建了一个列表
ArrayList<String> numbers = new ArrayList<String>();
numbers.add("Zero");
numbers.add("One");
numbers.add("Two");
numbers.add("Three");
System.out.println (numbers);
所以我假设,在这个条件下,我将创造这三种新方法。我只是很难听从他的指示。我不是要求任何人为我做工作,我只是想澄清一下他到底想让我们做什么,然后我可以尝试做研究
提前谢谢你
# 1 楼答案
我认为你的教授要求的东西比你做的更抽象
首先,您应该定义自己的类来表示列表元素,例如
然后给你一张清单。应该所有元素都已经在里面了
然后你应该写一个函数,比如
void reverse(List list)
,假设myList
会在适当的地方反转它,等等许多书中都有这样的练习。你的教授想给你一些抽象的知识,这些知识比某些特定的语言语法更有价值